草庐IT

Android isScreenOn Nullpointer异常

全部标签

Java:为什么我不能在比较器中抛出异常?

直接的答案是因为Comparator.compare的接口(interface)被指定为不会抛出异常。但这是为什么呢?或者换句话说:我的Comparator必须依赖于一个可以抛出异常的函数。从理论上讲,这不应该发生。但如果发生这种情况,我希望它能从我使用Comparator的整个函数中脱离出来(在Collections.sort中)。IE。我希望它的行为就像发生了未处理的异常一样。这似乎以一种明显的自然方式是不可能的(因为如果接口(interface)说它不能抛出异常,它就不能)。我该如何解决这个问题?使用丑陋的try/catch并打印出异常并希望我能识别它?这似乎是一种非常丑陋的方式

java - org.h2.jdbc.JdbcSQL异常 : Schema "MYAPP" not found; SQL statement

我正在尝试将H2数据库与sprintjunit测试一起使用,如下所示:1-SpringTestingConfig:@Configuration@ComponentScan(basePackages="com.myapp.data",excludeFilters={@Filter(Configuration.class)})@PropertySource("classpath:/test.properties")@Profile("test")publicclassSpringTestingConfig{@BeanpublicDataSourcedataSource(){DriverMa

java - 数组索引越界异常(Java)

这是我的代码:publicclasscountChar{publicstaticvoidmain(String[]args){inti;StringuserInput=newString();userInput=Input.getString("Pleaseenterasentence");int[]total=totalChars(userInput.toLowerCase());for(i=0;i程序的目的是向用户询问一个字符串,然后计算每个字符在字符串中出现的次数。当我去编译程序时,它工作正常。当我运行程序时,我可以在弹出框中输入一个字符串,但是在我提交该字符串并按确定后,我得到

java - 如果一个方法可以抛出多个异常,如何声明呢?

我认为throwsException只能处理一般情况。如果我的方法可以抛出多个异常,如何声明? 最佳答案 publicwriteThisToFile(Stringline)throwsFileNotFoundException,AppSpecificServiceException,SecurityException{/*something*/}另见§8.4.6MethodThrows 关于java-如果一个方法可以抛出多个异常,如何声明呢?,我们在StackOverflow上找到一个类

java - 抑制捕获或抛出永远不会发生的异常?

假设我在方法中有以下行:StringencodedString=URLEncoder.encode(foo,"utf-8");此方法抛出一个UnsupportedEncodingException。哪个更好:/**@throwsUnsupportedEncodingExceptionumm...never*/publicvoidmyMethod()throwsUnsupportedEncodingException{...StringencodedString=URLEncoder.encode(foo,"utf-8");...}(强制调用者自己捕捉)或者:publicvoidmyMe

java - 在 javax.swing 应用程序中捕获异常

我正在使用javax.swing制作一个应用程序,该应用程序从XML模式(使用JAXFront库)生成表单并将用户填写的数据存储到XML文档中。我在需要时放置了try-catch-finallyblock,但是当主线程结束时(AWT线程仍在运行)捕获异常时我遇到了一点问题。我有两个类完成主要工作,其他类对问题不重要:主类:它具有以下结构。初始化应用程序并运行主框架publicclassMain{publicstaticvoidmain(String[]args){readArgs();//AnINIfilewiththeappconfigModelmodel=initializeEle

java - Mule:获取异常消息

我在Mule中有一个默认的捕获异常,我正在尝试使用Mule表达式访问异常消息:#[exception]这似乎不起作用,我猜我正在尝试访问错误的变量?我正在尝试使用记录器记录它,并运行一个接收异常消息(作为字符串)的自定义组件。谢谢, 最佳答案 在某些情况下,exception.cause可能是null,因此建议使用条件来显示消息:[(exception.cause!=null)?(exception.cause.message):exception]这将防止空指针异常。 关于java-M

java - 如果抛出未经检查的 Java 异常,则停止 bash 脚本

我正在从Bash脚本中运行一个java程序。如果java程序抛出未经检查的异常,我想停止bash脚本而不是脚本继续执行下一个命令。如何做到这一点?我的脚本如下所示:#!/bin/bashjavac*.javajava-eaHelloWorld>HelloWorld.txtmvHelloWorld.txt./HelloWorldDir 最佳答案 同意汤姆·霍丁的意见,要在Bash脚本中检查Java程序的退出代码:#!/bin/bashjavac*.javajava-eaHelloWorld>HelloWorld.txtexitValu

java - 为什么Java中的运行时异常是 "unchecked"?

为什么让运行时异常UnChecked(而不是如果它们被Checked)有意义? 最佳答案 如果不这样做,则每次访问数组元素、执行除法运算和许多其他常见场景时都必须使用try/catchblock。换句话说,想象一下这段代码:Mapmap=...inti=...(int[])map.get("foo")[3]=2334/i;必须检查ClassCastException、ArrayIndexOutofBoundsException、ArithmeticException、UnsupportedOperationException和Nul

java.sql.SQLException : Column not found 异常

我收到以下错误:HTTPStatus500-Requestprocessingfailed;nestedexceptionisorg.springframework.jdbc.BadSqlGrammarException:StatementCallback;badSQLgrammar[SELECTid,nameFROMtrackWHEREcategory_id=1ORDERBYname];nestedexceptionisjava.sql.SQLException:Column'category_id'notfound.但是当我将错误中列出的选择语句复制并粘贴到mysqlshell中时